Open
Conversation
cf98b3a to
778b19c
Compare
Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
Update I/O dispatcher module with the latest refactor changes due to the ongoing Linux upstream efforts. Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
Update IPC shared memory module with the latest refactor changes due to the ongoing Linux upstream efforts. Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
…percall inline asm
The inline assembly block for the `ecall` in bao_remio_hypercall()
specified registers a0–a7 as both input ("r") and read-write ("+r")
operands.
Since "+r" already marks the operands as input-output, the additional
input-only constraints are redundant and unnecessary. Removing them
simplifies the constraint list without changing semantics and avoids
potential confusion for future maintainers.
No functional changes intended.
Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
…ext fields Initialize client->virtio_requests_lock in bao_io_client_create(). Without explicitly initializing this mutex, the first lock operation can trigger a breakpoint (BKP) exception on RISC-V due to operating on an uninitialized lock structure. Also explicitly initialize ctx.access_width and ctx.npend_req in bao_dispatch_io() before issuing the hypercall. This avoids passing uninitialized stack data to the hypervisor and makes the hypercall context state fully defined. These changes improve robustness and prevent runtime exceptions on RISC-V systems. Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
Drop the explicit loop calling bao_dispatch_io() when creating a control client. There is no need to proactively check and drain pending requests at this point. Bao guarantees that the backend VM is notified via an interrupt whenever there are requests to process, even if the frontend initiates the interaction first. As a result, the backend will naturally enter the dispatch path when work is available. Removing this loop simplifies the initialization path and avoids redundant polling without changing behavior. Signed-off-by: João Peixoto <joaopeixotooficial@gmail.com>
778b19c to
2c57c23
Compare
josecm
reviewed
Feb 21, 2026
Member
josecm
left a comment
There was a problem hiding this comment.
Should we also allow for ipc-shmems where there is only a read-channel?
A good idea would be to write the device tree bindings for these modules also.
Comment on lines
+154
to
+164
| ret = of_property_read_u32_index(np, "read-channel", 0, &read_offset); | ||
| if (ret) { | ||
| dev_err(dev, "failed to read 'read-channel' offset: %d\n", ret); | ||
| return ret; | ||
| } | ||
|
|
||
| ret = of_property_read_u32_index(np, "read-channel", 1, &read_size); | ||
| if (ret) { | ||
| dev_err(dev, "failed to read 'read-channel' size: %d\n", ret); | ||
| return ret; | ||
| } |
Member
There was a problem hiding this comment.
Do these consider the case where #address-cells or #size-cells are greater than 1?
| register u32 r5 asm("r5") = ctx->request_id; | ||
| register u32 r6 asm("r6") = 0; | ||
|
|
||
| asm volatile("hvc 0\n\t" |
Member
There was a problem hiding this comment.
Why can't we use arm_smccc_hvc here also?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.